package com.icinfo.cloud.provider.punish.api.service;

import com.icinfo.cloud.provider.punish.api.dto.*;
import com.icinfo.cloud.provider.punish.api.vo.*;
import com.icinfo.cloud.provider.punish.approval.dto.MemberUserVo;

import java.util.List;

/**
 * @author zhengqiang
 * @description
 * @date 2023/4/18
 */
public interface IPunishCaseMainInfoService {

    /**
     * 【V1.11.4】描述：案件列表分页查询(成品油)
     *
     * @author: zhengqiang
     * @date: 2023/4/18
     * @param: queryDto
     * @return {@link List<  CaseInfoPageListForOilVo >}
     **/
    List<CaseInfoPageListForOilVo> getCaseInfoPageListForOilManage(CaseInfoPageListForOilQueryDto queryDto);

    /**
     * 【V1.11.4】描述：根据案件编号列表查询案件列表(成品油)
     *
     * @author: zhengqiang
     * @date: 2023/4/18
     * @param: queryDto
     * @return {@link List<  CaseInfoPageListForOilVo >}
     **/
    List<CaseInfoPageListForOilVo> getCaseInfoListByCaseNoListForOilManage(CaseInfoListForOilQueryDto queryDto);

    /**
     * 【V1.11.4】描述：根据登录人及案件名称查询案件列表(成品油)
     *
     * @author: zhengqiang
     * @date: 2023/4/18
     * @param: queryDto
     * @return {@link List< CaseNameAndNoListForOilVo>}
     **/
    List<CaseNameAndNoListForOilVo> getCaseNameAndNoListForOilManage(CaseNameAndNoListForOilQueryDto queryDto);

    /**
     * 【V1.11.4】描述：根据案件id查询案件当事人(成品油)
     *
     * @author: zhengqiang
     * @date: 2023/4/18
     * @param: queryDto
     * @return {@link CasePartyInfoForOilVo}
     **/
    CasePartyInfoForOilVo getCasePartyListForOilManage(CasePartyListForOilQueryDto queryDto);
    /**
     *根据角色id 与部门编码获取用户信息
     * @author liyafeng
     * @date 2023/4/19
      * @param queryDto
     * @return {@link List< MemberUserVo>}
     */
    List<MemberUserVo> getUserListForOilManageByRole(UserListForOilQueryDto queryDto);

    /**
     * 描述： 分页查询实施行政强制措施决定书记录
     *
     * @author: zhengqiang
     * @date: 2023/5/24
     * @param: pageListQueryDto
     * @return {@link List< CaseEnforceDocForOilVo>}
     **/
    List<CaseEnforceDocForOilVo> getCaseEnforceDocPageListForOilManage(CaseEnforceDocPageListForOilQueryDto pageListQueryDto);

    /**
     * 描述： 根据部门编码查询条线配置信息
     *
     * @author: zhengqiang
     * @date: 2023/5/24
     * @param: queryDto
     * @return {@link List< LineInfoForOilVo>}
     **/
    List<LineInfoForOilVo> getLineInfoForOilManage(LineInfoListForOilQueryDto queryDto);
}
